تقسيم الكود في الواجهة الأمامية: النهج القائم على المسار والنهج القائم على المكونات | MLOG | MLOG ); } export default App;

في هذا المثال، يتم تحميل MyComponent بشكل كسول باستخدام React.lazy() واستيراد ديناميكي. يوفر مكون Suspense واجهة مستخدم احتياطية أثناء تحميل المكون.

مثال (Intersection Observer API)


import React, { useState, useEffect, useRef, Suspense, lazy } from 'react';

const MyComponent = lazy(() => import('./MyComponent'));

function App() {
 const [isVisible, setIsVisible] = useState(false);
 const componentRef = useRef(null);

 useEffect(() => {
 const observer = new IntersectionObserver(
 ([entry]) => {
 setIsVisible(entry.isIntersecting);
 },
 { threshold: 0.1 }
 );

 if (componentRef.current) {
 observer.observe(componentRef.current);
 }

 return () => {
 if (componentRef.current) {
 observer.unobserve(componentRef.current);
 }
 };
 }, []);

 return (
 
{isVisible ? ( Loading...
}> ) : (
Placeholder Content
)} ); } export default App;

يستخدم هذا المثال Intersection Observer API لاكتشاف متى يكون المكون مرئيًا في منفذ العرض. يتم تحديث متغير الحالة isVisible بناءً على حالة التقاطع، ولا يتم تحميل MyComponent إلا عندما يصبح مرئيًا.

فوائد تقسيم الكود القائم على المكونات

عيوب تقسيم الكود القائم على المكونات

اختيار النهج الصحيح

يعتمد أفضل نهج لتقسيم الكود على الخصائص المحددة للتطبيق. إليك بعض الإرشادات العامة:

الأدوات والتقنيات

يمكن للعديد من الأدوات والتقنيات المساعدة في تقسيم الكود:

اعتبارات عالمية

عند تنفيذ تقسيم الكود، من المهم مراعاة الآثار العالمية على مستخدمي تطبيقك. وهذا يشمل عوامل مثل:

الخاتمة

يعد تقسيم الكود تقنية حاسمة لتحسين أداء تطبيقات الويب الحديثة. من خلال تقسيم كود التطبيق بشكل استراتيجي إلى أجزاء أصغر وتحميلها عند الطلب، يمكن للمطورين تقليل أوقات التحميل الأولية بشكل كبير، وتحسين تجربة المستخدم، وتحسين استخدام الموارد. سواء اخترت النهج القائم على المسار، أو القائم على المكونات، أو مزيجًا من الاثنين، فإن فهم مبادئ وتقنيات تقسيم الكود ضروري لبناء تطبيقات ويب سريعة وسلسة ويمكن الوصول إليها عالميًا.

تذكر أن تراقب وتحلل أداء تطبيقك باستمرار لتحديد مجالات التحسين وصقل استراتيجيات تقسيم الكود الخاصة بك بمرور الوقت.

لمزيد من التعلم